package com.acsior.hibernate.vo;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import com.acsior.dac.impl.hibernate.vo.GeneratorKey;

/**
 * PhoneCallService entity. @author MyEclipse Persistence Tools <b><i>powered by
 * Belev</i></b>
 */
@Entity
@Table(name = "phone_call_services")
@GeneratorKey(tableName = "service_requests")
public class PhoneCallServiceVO extends ServiceRequestVO {

	private static final long serialVersionUID = 2407308111273295268L;

	@Column(name = "by_order", nullable = false)
	private boolean byOrder;

	@Column(name = "duration", nullable = false)
	private Long duration;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "nom_country_id", nullable = false)
	private NomCountryVO nomCountry;

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "nom_phone_call_direction_id", nullable = false)
	private NomPhoneCallDirectionVO nomPhoneCallDirection;

	@Column(name = "phone_booth", nullable = false, length = 10)
	private String phoneBooth;

	@Column(name = "phone_number", length = 20)
	private String phoneNumber;

	/** default constructor */
	public PhoneCallServiceVO() {
		super();
	}

	/** @return the duration */
	public Long getDuration() {
		return this.duration;
	}

	/** @return the nomCountry */
	public NomCountryVO getNomCountry() {
		return this.nomCountry;
	}

	/** @return the nomPhoneCallDirection */
	public NomPhoneCallDirectionVO getNomPhoneCallDirection() {
		return this.nomPhoneCallDirection;
	}

	/** @return the phoneBooth */
	public String getPhoneBooth() {
		return this.phoneBooth;
	}

	/**
	 * @return the phoneNumber
	 */
	public String getPhoneNumber() {
		return this.phoneNumber;
	}

	/**
	 * @return the byOrder
	 */
	public boolean isByOrder() {
		return this.byOrder;
	}

	/**
	 * @param byOrder
	 *            the byOrder to set
	 */
	public void setByOrder(boolean byOrder) {
		this.byOrder = byOrder;
	}

	/**
	 * @param duration
	 *            the duration to set
	 */
	public void setDuration(Long duration) {
		this.duration = duration;
	}

	/**
	 * @param nomCountry
	 *            the nomCountry to set
	 */
	public void setNomCountry(NomCountryVO nomCountry) {
		this.nomCountry = nomCountry;
	}

	/**
	 * @param nomPhoneCallDirection
	 *            the nomPhoneCallDirection to set
	 */
	public void setNomPhoneCallDirection(NomPhoneCallDirectionVO nomPhoneCallDirection) {
		this.nomPhoneCallDirection = nomPhoneCallDirection;
	}

	/**
	 * @param phoneBooth
	 *            the phoneBooth to set
	 */
	public void setPhoneBooth(String phoneBooth) {
		this.phoneBooth = phoneBooth;
	}

	/**
	 * @param phoneNumber
	 *            the phoneNumber to set
	 */
	public void setPhoneNumber(String phoneNumber) {
		this.phoneNumber = phoneNumber;
	}
}